# coding: utf-8
from sqlalchemy import CHAR, Column, Date, DateTime, Index, LargeBinary, String, TIMESTAMP, Text, text
from sqlalchemy.dialects.mysql import DECIMAL, INTEGER, MEDIUMINT, MEDIUMTEXT, SMALLINT, TINYINT
from sqlalchemy.ext.declarative import declarative_base


Base = declarative_base()
metadata = Base.metadata


class FlAccess(Base):
    __tablename__ = 'fl_access'

    id = Column(INTEGER(11), primary_key=True)
    role_id = Column(INTEGER(11), nullable=False, server_default=text("'0'"))
    menu_id = Column(INTEGER(11), nullable=False, server_default=text("'0'"))


class FlAdmin(Base):
    __tablename__ = 'fl_admin'

    id = Column(INTEGER(11), primary_key=True)
    role_id = Column(INTEGER(11), nullable=False, server_default=text("'0'"))
    name = Column(String(30), nullable=False, server_default=text("''"))
    pwd = Column(CHAR(32), nullable=False, server_default=text("''"))
    mobile = Column(String(20), nullable=False, server_default=text("''"))
    email = Column(String(30), nullable=False, server_default=text("''"))
    avatar = Column(String(150), nullable=False, server_default=text("''"))
    status = Column(TINYINT(1), nullable=False, server_default=text("'0'"))
    login_time = Column(INTEGER(11), nullable=False, server_default=text("'0'"))
    add_time = Column(INTEGER(11), nullable=False, server_default=text("'0'"))
    update_time = Column(INTEGER(11), nullable=False, server_default=text("'0'"))
    delete_time = Column(INTEGER(11), nullable=False, server_default=text("'0'"))


class FlAdminLog(Base):
    __tablename__ = 'fl_admin_log'

    id = Column(INTEGER(10), primary_key=True)
    content = Column(String(250), nullable=False, server_default=text("''"))
    ip = Column(String(15), nullable=False, server_default=text("'0'"))
    route = Column(String(60), nullable=False, server_default=text("''"))
    http_method = Column(String(10), nullable=False, server_default=text("''"))
    admin_name = Column(String(60), nullable=False, server_default=text("''"))
    admin_id = Column(INTEGER(10), nullable=False, server_default=text("'0'"))
    add_time = Column(INTEGER(10), nullable=False, server_default=text("'0'"))


class FlAdminRole(Base):
    __tablename__ = 'fl_admin_role'

    id = Column(INTEGER(11), primary_key=True)
    parent_id = Column(INTEGER(11), nullable=False, server_default=text("'0'"))
    name = Column(String(30), nullable=False, unique=True, server_default=text("''"))
    desc = Column(String(150), nullable=False, server_default=text("''"))
    listorder = Column(INTEGER(11), nullable=False, server_default=text("'0'"))
    status = Column(TINYINT(1), nullable=False, server_default=text("'0'"))


class FlArticle(Base):
    __tablename__ = 'fl_article'

    id = Column(INTEGER(11), primary_key=True)
    type_id = Column(INTEGER(11), nullable=False)
    tuijian = Column(TINYINT(1), nullable=False, server_default=text("'0'"))
    click = Column(INTEGER(11), nullable=False, server_default=text("'0'"))
    title = Column(String(150), nullable=False, server_default=text("''"))
    content = Column(MEDIUMTEXT)
    writer = Column(String(20), nullable=False, server_default=text("''"))
    source = Column(String(30), nullable=False, server_default=text("''"))
    litpic = Column(String(150), nullable=False, server_default=text("''"))
    keywords = Column(String(60), nullable=False, server_default=text("''"))
    seotitle = Column(String(150), nullable=False, server_default=text("''"))
    description = Column(String(250), nullable=False, server_default=text("''"))
    status = Column(TINYINT(1), nullable=False, server_default=text("'0'"))
    type_id2 = Column(INTEGER(11), nullable=False, server_default=text("'0'"))
    user_id = Column(INTEGER(11), nullable=False, server_default=text("'0'"))
    shop_id = Column(INTEGER(11), nullable=False, server_default=text("'0'"))
    add_time = Column(INTEGER(11), nullable=False, server_default=text("'0'"))
    update_time = Column(INTEGER(11), nullable=False, server_default=text("'0'"))
    delete_time = Column(INTEGER(11), nullable=False, server_default=text("'0'"))

   


class FlArticleType(Base):
    __tablename__ = 'fl_article_type'

    id = Column(INTEGER(11), primary_key=True)
    parent_id = Column(INTEGER(11), nullable=False, server_default=text("'0'"))
    name = Column(String(30), nullable=False, server_default=text("''"))
    seotitle = Column(String(150), nullable=False, server_default=text("''"))
    keywords = Column(String(60), nullable=False, server_default=text("''"))
    description = Column(String(250), nullable=False, server_default=text("''"))
    content = Column(MEDIUMTEXT)
    filename = Column(String(30), nullable=False, unique=True, server_default=text("''"))
    templist = Column(String(50), nullable=False, server_default=text("''"))
    temparticle = Column(String(50), nullable=False, server_default=text("''"))
    litpic = Column(String(150), nullable=False, server_default=text("''"))
    is_part = Column(TINYINT(1), nullable=False, server_default=text("'0'"))
    listorder = Column(INTEGER(11), nullable=False, server_default=text("'50'"))
    shop_id = Column(INTEGER(11), nullable=False, server_default=text("'0'"))
    update_time = Column(INTEGER(11), nullable=False, server_default=text("'0'"))
    add_time = Column(INTEGER(11), nullable=False, server_default=text("'0'"))
    delete_time = Column(INTEGER(11), nullable=False, server_default=text("'0'"))


class FlBank(Base):
    __tablename__ = 'fl_bank'

    id = Column(INTEGER(11), primary_key=True)
    name = Column(String(20), nullable=False, server_default=text("''"))
    logo = Column(String(250), nullable=False, server_default=text("''"))
    code = Column(String(10), nullable=False, server_default=text("''"))
    status = Column(TINYINT(1), nullable=False, server_default=text("'0'"))


class FlBonu(Base):
    __tablename__ = 'fl_bonus'

    id = Column(INTEGER(11), primary_key=True)
    name = Column(String(60), nullable=False, server_default=text("''"))
    money = Column(DECIMAL(10, 2), nullable=False, server_default=text("'0.00'"))
    min_amount = Column(DECIMAL(10, 2), nullable=False, server_default=text("'0.00'"))
    start_time = Column(DateTime, nullable=False)
    end_time = Column(DateTime, nullable=False)
    point = Column(SMALLINT(5), nullable=False, server_default=text("'0'"))
    status = Column(TINYINT(1), nullable=False, server_default=text("'0'"))
    add_time = Column(INTEGER(10), nullable=False, server_default=text("'0'"))
    num = Column(MEDIUMINT(5), nullable=False, server_default=text("'-1'"))


class FlCart(Base):
    __tablename__ = 'fl_cart'

    id = Column(INTEGER(11), primary_key=True)
    user_id = Column(INTEGER(11), nullable=False, server_default=text("'0'"))
    goods_id = Column(INTEGER(11), nullable=False, server_default=text("'0'"))
    shop_id = Column(INTEGER(60), nullable=False, server_default=text("'0'"))
    goods_number = Column(SMALLINT(5), nullable=False, server_default=text("'0'"))
    goods_attr = Column(Text, nullable=False)
    type = Column(TINYINT(1), nullable=False, server_default=text("'0'"))
    add_time = Column(INTEGER(11), nullable=False, server_default=text("'0'"))


class FlCategory(Base):
    __tablename__ = 'fl_category'

    id = Column(INTEGER(11), primary_key=True)
    parent_id = Column(INTEGER(11), nullable=False, server_default=text("'0'"))
    add_time = Column(INTEGER(11), nullable=False, server_default=text("'0'"))
    name = Column(String(30), nullable=False, unique=True, server_default=text("''"))
    seotitle = Column(String(150), nullable=False, server_default=text("''"))
    keywords = Column(String(60), nullable=False, server_default=text("''"))
    description = Column(String(250), nullable=False, server_default=text("''"))
    content = Column(MEDIUMTEXT)
    listorder = Column(INTEGER(11), nullable=False, server_default=text("'50'"))
    litpic = Column(String(150), nullable=False, server_default=text("''"))
    update_time = Column(INTEGER(11), nullable=False, server_default=text("'0'"))
    delete_time = Column(INTEGER(11), nullable=False, server_default=text("'0'"))


class FlCollectGood(Base):
    __tablename__ = 'fl_collect_goods'

    id = Column(INTEGER(11), primary_key=True)
    user_id = Column(INTEGER(11), nullable=False, index=True, server_default=text("'0'"))
    goods_id = Column(INTEGER(11), nullable=False, index=True, server_default=text("'0'"))
    add_time = Column(INTEGER(11), nullable=False, server_default=text("'0'"))
    is_attention = Column(TINYINT(1), nullable=False, index=True, server_default=text("'0'"))


class FlComment(Base):
    __tablename__ = 'fl_comment'
    __table_args__ = (
        Index('idx_comment_type_user_id', 'comment_type', 'user_id'),
    )

    id = Column(INTEGER(11), primary_key=True)
    comment_type = Column(TINYINT(3), nullable=False, server_default=text("'0'"))
    id_value = Column(INTEGER(11), nullable=False, server_default=text("'0'"))
    content = Column(Text, nullable=False)
    comment_rank = Column(TINYINT(1), nullable=False, server_default=text("'0'"))
    add_time = Column(INTEGER(11), nullable=False, server_default=text("'0'"))
    ip_address = Column(String(15), nullable=False, server_default=text("''"))
    status = Column(TINYINT(1), nullable=False, server_default=text("'1'"))
    parent_id = Column(INTEGER(11), nullable=False, server_default=text("'0'"))
    user_id = Column(INTEGER(11), nullable=False, server_default=text("'0'"))
    is_anonymous = Column(TINYINT(1), nullable=False, server_default=text("'0'"))


class FlEmailVerifyCode(Base):
    __tablename__ = 'fl_email_verify_code'

    id = Column(INTEGER(11), primary_key=True)
    code = Column(String(10), nullable=False, server_default=text("''"))
    type = Column(TINYINT(1), nullable=False, server_default=text("'0'"))
    email = Column(String(20), nullable=False, server_default=text("''"))
    status = Column(TINYINT(1), nullable=False, server_default=text("'0'"))
    expire_time = Column(INTEGER(11), nullable=False, server_default=text("'0'"))
    add_time = Column(INTEGER(11), nullable=False, server_default=text("'0'"))


class FlFeedback(Base):
    __tablename__ = 'fl_feedback'

    id = Column(INTEGER(11), primary_key=True)
    type = Column(String(20), nullable=False, server_default=text("''"))
    title = Column(String(150), nullable=False, server_default=text("''"))
    content = Column(MEDIUMTEXT)
    mobile = Column(String(20), nullable=False, server_default=text("''"))
    user_id = Column(INTEGER(11), nullable=False, server_default=text("'0'"))
    add_time = Column(TIMESTAMP, nullable=False, server_default=text("CURRENT_TIMESTAMP"))


class FlFriendlink(Base):
    __tablename__ = 'fl_friendlink'

    id = Column(INTEGER(11), primary_key=True)
    name = Column(String(60), nullable=False, server_default=text("''"))
    url = Column(String(150), nullable=False, server_default=text("''"))
    target = Column(SMALLINT(2), nullable=False, server_default=text("'0'"))
    group_id = Column(INTEGER(5), nullable=False, server_default=text("'0'"))
    listorder = Column(INTEGER(11), nullable=False, server_default=text("'50'"))


class FlGood(Base):
    __tablename__ = 'fl_goods'

    id = Column(INTEGER(11), primary_key=True)
    type_id = Column(INTEGER(11), nullable=False, server_default=text("'0'"))
    tuijian = Column(TINYINT(1), nullable=False, server_default=text("'0'"))
    click = Column(INTEGER(11), nullable=False, server_default=text("'0'"))
    title = Column(String(150), nullable=False, server_default=text("''"))
    seotitle = Column(String(150), nullable=False, server_default=text("''"))
    keywords = Column(String(60), nullable=False, server_default=text("''"))
    description = Column(String(250), nullable=False, server_default=text("''"))
    content = Column(MEDIUMTEXT)
    litpic = Column(String(150), nullable=False, server_default=text("''"))
    goods_img = Column(String(150), nullable=False, server_default=text("''"))
    sn = Column(String(60), nullable=False, unique=True, server_default=text("''"))
    price = Column(DECIMAL(10, 2), nullable=False, server_default=text("'0.00'"))
    market_price = Column(DECIMAL(10, 2), nullable=False, server_default=text("'0.00'"))
    cost_price = Column(DECIMAL(10, 2), nullable=False, server_default=text("'0.00'"))
    shipping_fee = Column(DECIMAL(10, 2), nullable=False, server_default=text("'0.00'"))
    goods_number = Column(INTEGER(11), nullable=False, server_default=text("'0'"))
    sale = Column(INTEGER(11), nullable=False, server_default=text("'0'"))
    warn_number = Column(TINYINT(3), nullable=False, server_default=text("'1'"))
    goods_weight = Column(DECIMAL(10, 2), nullable=False, server_default=text("'0.00'"))
    spec = Column(MEDIUMTEXT)
    point = Column(INTEGER(6), nullable=False, server_default=text("'0'"))
    comments = Column(INTEGER(11), nullable=False, server_default=text("'0'"))
    promote_price = Column(DECIMAL(10, 2), nullable=False, server_default=text("'0.00'"))
    promote_start_date = Column(INTEGER(11), nullable=False, server_default=text("'0'"))
    promote_end_date = Column(INTEGER(11), nullable=False, server_default=text("'0'"))
    brand_id = Column(INTEGER(11), nullable=False, server_default=text("'0'"))
    listorder = Column(INTEGER(11), nullable=False, server_default=text("'50'"))
    status = Column(TINYINT(1), nullable=False, server_default=text("'0'"))
    user_id = Column(INTEGER(11), nullable=False, server_default=text("'0'"))
    shop_id = Column(INTEGER(11), nullable=False, server_default=text("'0'"))
    video_list = Column(MEDIUMTEXT, nullable=False)
    update_time = Column(INTEGER(11), nullable=False, server_default=text("'0'"))
    add_time = Column(INTEGER(11), nullable=False, server_default=text("'0'"))
    delete_time = Column(INTEGER(11), nullable=False, server_default=text("'0'"))


class FlGoodsBrand(Base):
    __tablename__ = 'fl_goods_brand'

    id = Column(INTEGER(11), primary_key=True)
    parent_id = Column(INTEGER(11), nullable=False, server_default=text("'0'"))
    name = Column(String(30), nullable=False, server_default=text("''"))
    seotitle = Column(String(150), nullable=False, server_default=text("''"))
    keywords = Column(String(60), nullable=False, server_default=text("''"))
    description = Column(String(240), nullable=False, server_default=text("''"))
    content = Column(MEDIUMTEXT)
    click = Column(INTEGER(11), nullable=False, server_default=text("'0'"))
    litpic = Column(String(150), nullable=False, server_default=text("''"))
    cover_img = Column(String(150), nullable=False, server_default=text("''"))
    listorder = Column(INTEGER(11), nullable=False, server_default=text("'50'"))
    status = Column(TINYINT(1), nullable=False, server_default=text("'0'"))
    add_time = Column(INTEGER(11), nullable=False, server_default=text("'0'"))


class FlGoodsImg(Base):
    __tablename__ = 'fl_goods_img'

    id = Column(INTEGER(11), primary_key=True)
    goods_id = Column(INTEGER(11), nullable=False, server_default=text("'0'"))
    url = Column(String(150), nullable=False, server_default=text("''"))
    desc = Column(String(150), nullable=False, server_default=text("''"))
    listorder = Column(INTEGER(11), nullable=False, server_default=text("'50'"))
    add_time = Column(INTEGER(11), nullable=False, server_default=text("'0'"))


class FlGoodsSearchword(Base):
    __tablename__ = 'fl_goods_searchword'

    id = Column(INTEGER(11), primary_key=True)
    name = Column(String(60), nullable=False, server_default=text("''"))
    click = Column(INTEGER(11), nullable=False, server_default=text("'0'"))
    listorder = Column(INTEGER(11), nullable=False, server_default=text("'50'"))
    status = Column(TINYINT(1), nullable=False, server_default=text("'0'"))
    update_time = Column(INTEGER(11), nullable=False, server_default=text("'0'"))
    add_time = Column(INTEGER(11), nullable=False, server_default=text("'0'"))


class FlGoodsType(Base):
    __tablename__ = 'fl_goods_type'

    id = Column(INTEGER(11), primary_key=True)
    parent_id = Column(INTEGER(11), nullable=False, index=True, server_default=text("'0'"))
    name = Column(String(30), nullable=False, unique=True, server_default=text("''"))
    seotitle = Column(String(150), nullable=False, server_default=text("''"))
    keywords = Column(String(60), nullable=False, server_default=text("''"))
    description = Column(String(250), nullable=False, server_default=text("''"))
    content = Column(MEDIUMTEXT)
    filename = Column(String(30), nullable=False, unique=True, server_default=text("''"))
    templist = Column(String(50), nullable=False, server_default=text("''"))
    temparticle = Column(String(50), nullable=False, server_default=text("''"))
    litpic = Column(String(150), nullable=False, server_default=text("''"))
    cover_img = Column(String(150), nullable=False, server_default=text("''"))
    listorder = Column(INTEGER(11), nullable=False, server_default=text("'50'"))
    shop_id = Column(INTEGER(11), nullable=False, server_default=text("'0'"))
    update_time = Column(INTEGER(11), nullable=False, server_default=text("'0'"))
    add_time = Column(INTEGER(11), nullable=False, server_default=text("'0'"))
    delete_time = Column(INTEGER(11), nullable=False, server_default=text("'0'"))


class FlGuestbook(Base):
    __tablename__ = 'fl_guestbook'

    id = Column(INTEGER(11), primary_key=True)
    title = Column(String(150), nullable=False, server_default=text("''"))
    msg = Column(String(250), nullable=False, server_default=text("''"))
    name = Column(String(30), nullable=False, server_default=text("''"))
    mobile = Column(String(20), nullable=False, server_default=text("''"))
    email = Column(String(60), nullable=False, server_default=text("''"))
    status = Column(TINYINT(1), nullable=False, server_default=text("'0'"))
    shop_id = Column(INTEGER(11), nullable=False, server_default=text("'0'"))
    add_time = Column(INTEGER(11), nullable=False, server_default=text("'0'"))
    delete_time = Column(INTEGER(11), nullable=False, server_default=text("'0'"))


class FlJob(Base):
    __tablename__ = 'fl_job'

    id = Column(INTEGER(11), primary_key=True)
    title = Column(String(150), nullable=False, server_default=text("''"))
    seotitle = Column(String(150), nullable=False, server_default=text("''"))
    keywords = Column(String(100), nullable=False, server_default=text("''"))
    description = Column(String(250), nullable=False, server_default=text("''"))
    content = Column(MEDIUMTEXT, nullable=False)
    click = Column(INTEGER(11), nullable=False, server_default=text("'0'"))
    add_time = Column(INTEGER(11), nullable=False, server_default=text("'0'"))
    update_time = Column(INTEGER(11), nullable=False, server_default=text("'0'"))
    delete_time = Column(INTEGER(11), nullable=False, server_default=text("'0'"))


class FlKeyword(Base):
    __tablename__ = 'fl_keyword'

    id = Column(INTEGER(11), primary_key=True)
    name = Column(String(30), nullable=False, server_default=text("''"))
    url = Column(String(150), nullable=False, server_default=text("''"))


class FlKuaidi(Base):
    __tablename__ = 'fl_kuaidi'

    id = Column(INTEGER(10), primary_key=True)
    name = Column(String(30), nullable=False, server_default=text("''"))
    code = Column(String(20), nullable=False, server_default=text("''"))
    money = Column(DECIMAL(10, 2), nullable=False, server_default=text("'0.00'"))
    country = Column(String(20), nullable=False, server_default=text("''"))
    desc = Column(String(150), nullable=False, server_default=text("''"))
    tel = Column(String(60), nullable=False, server_default=text("''"))
    website = Column(String(60), nullable=False, server_default=text("''"))
    listorder = Column(INTEGER(11), nullable=False, server_default=text("'50'"))
    status = Column(TINYINT(1), nullable=False, server_default=text("'0'"))


class FlMenu(Base):
    __tablename__ = 'fl_menu'

    id = Column(INTEGER(11), primary_key=True)
    parent_id = Column(INTEGER(11), nullable=False, index=True, server_default=text("'0'"))
    module = Column(String(50), nullable=False, server_default=text("''"))
    controller = Column(String(50), nullable=False, server_default=text("''"))
    action = Column(String(50), nullable=False, server_default=text("''"))
    data = Column(String(50), nullable=False, server_default=text("''"))
    type = Column(TINYINT(1), nullable=False, server_default=text("'0'"))
    name = Column(String(50), nullable=False, server_default=text("''"))
    icon = Column(String(50), nullable=False, server_default=text("''"))
    desc = Column(String(250), nullable=False, server_default=text("''"))
    listorder = Column(INTEGER(11), nullable=False, server_default=text("'50'"))
    status = Column(TINYINT(1), nullable=False, index=True, server_default=text("'0'"))


class FlOrder(Base):
    __tablename__ = 'fl_order'

    id = Column(INTEGER(11), primary_key=True)
    order_sn = Column(String(30), nullable=False, server_default=text("''"))
    user_id = Column(INTEGER(10), nullable=False, index=True, server_default=text("'0'"))
    shop_id = Column(INTEGER(10), nullable=False, server_default=text("'0'"))
    add_time = Column(INTEGER(10), nullable=False, server_default=text("'0'"))
    order_status = Column(TINYINT(2), nullable=False, server_default=text("'0'"))
    refund_status = Column(TINYINT(1), nullable=False, server_default=text("'0'"))
    shipping_status = Column(TINYINT(1), nullable=False, server_default=text("'0'"))
    pay_status = Column(TINYINT(1), nullable=False, server_default=text("'0'"))
    goods_amount = Column(DECIMAL(10, 2), nullable=False, server_default=text("'0.00'"))
    order_amount = Column(DECIMAL(10, 2), nullable=False, server_default=text("'0.00'"))
    discount = Column(DECIMAL(10, 2), nullable=False, server_default=text("'0.00'"))
    pay_money = Column(DECIMAL(10, 2), nullable=False, server_default=text("'0.00'"))
    pay_id = Column(TINYINT(4), nullable=False, server_default=text("'0'"))
    pay_time = Column(INTEGER(10), nullable=False, server_default=text("'0'"))
    pay_name = Column(String(30), nullable=False, server_default=text("''"))
    out_trade_no = Column(String(60), nullable=False, server_default=text("''"))
    shipping_name = Column(String(20), nullable=False, server_default=text("''"))
    shipping_id = Column(TINYINT(4), nullable=False, server_default=text("'0'"))
    shipping_sn = Column(String(30), nullable=False, server_default=text("''"))
    shipping_fee = Column(DECIMAL(10, 2), nullable=False, server_default=text("'0.00'"))
    shipping_time = Column(INTEGER(10), nullable=False, server_default=text("'0'"))
    name = Column(String(10), nullable=False, server_default=text("''"))
    province = Column(INTEGER(10), nullable=False, server_default=text("'0'"))
    city = Column(INTEGER(10), nullable=False, server_default=text("'0'"))
    district = Column(INTEGER(10), nullable=False, server_default=text("'0'"))
    address = Column(String(250), nullable=False, server_default=text("''"))
    zipcode = Column(String(10), nullable=False, server_default=text("''"))
    mobile = Column(String(60), nullable=False, server_default=text("''"))
    message = Column(String(250), nullable=False, server_default=text("''"))
    is_comment = Column(TINYINT(1), nullable=False, server_default=text("'0'"))
    integral_money = Column(DECIMAL(10, 2), server_default=text("'0.00'"))
    integral = Column(INTEGER(10), server_default=text("'0'"))
    bonus_money = Column(DECIMAL(10, 2), nullable=False, server_default=text("'0.00'"))
    bonus_id = Column(INTEGER(11), nullable=False, server_default=text("'0'"))
    is_delete = Column(TINYINT(1), server_default=text("'0'"))
    note = Column(String(240), server_default=text("''"))
    invoice = Column(TINYINT(1), server_default=text("'0'"))
    invoice_title = Column(String(100), server_default=text("''"))
    invoice_taxpayer_number = Column(String(100), server_default=text("''"))
    place_type = Column(TINYINT(3), server_default=text("'0'"))


class FlOrderGood(Base):
    __tablename__ = 'fl_order_goods'

    id = Column(INTEGER(10), primary_key=True)
    order_id = Column(INTEGER(10), nullable=False, index=True, server_default=text("'0'"))
    goods_id = Column(INTEGER(10), nullable=False, index=True, server_default=text("'0'"))
    goods_name = Column(String(120), nullable=False, server_default=text("''"))
    goods_number = Column(SMALLINT(5), nullable=False, server_default=text("'1'"))
    market_price = Column(DECIMAL(10, 2), nullable=False, server_default=text("'0.00'"))
    goods_price = Column(DECIMAL(10, 2), nullable=False, server_default=text("'0.00'"))
    goods_attr = Column(Text, nullable=False)
    goods_img = Column(String(150), nullable=False, server_default=text("''"))
    refund_status = Column(TINYINT(1), nullable=False, server_default=text("'0'"))
    refund_reason = Column(String(100), nullable=False, server_default=text("''"))
    refund_handle_des = Column(String(240), nullable=False, server_default=text("''"))
    refund_sn = Column(String(30), nullable=False, server_default=text("''"))


class FlPage(Base):
    __tablename__ = 'fl_page'

    id = Column(INTEGER(11), primary_key=True)
    title = Column(String(150), nullable=False, server_default=text("''"))
    seotitle = Column(String(150), nullable=False, server_default=text("''"))
    keywords = Column(String(100), nullable=False, server_default=text("''"))
    description = Column(String(250), nullable=False, server_default=text("''"))
    content = Column(MEDIUMTEXT)
    template = Column(String(30), nullable=False, server_default=text("''"))
    filename = Column(String(60), nullable=False, server_default=text("''"))
    litpic = Column(String(150), nullable=False, server_default=text("''"))
    click = Column(INTEGER(11), nullable=False, server_default=text("'0'"))
    group_id = Column(INTEGER(11), nullable=False, server_default=text("'0'"))
    add_time = Column(INTEGER(11), nullable=False, server_default=text("'0'"))
    update_time = Column(INTEGER(11), nullable=False, server_default=text("'0'"))
    delete_time = Column(INTEGER(11), nullable=False, server_default=text("'0'"))


class FlPayment(Base):
    __tablename__ = 'fl_payment'

    id = Column(TINYINT(3), primary_key=True)
    pay_code = Column(String(20), nullable=False, unique=True, server_default=text("''"))
    pay_name = Column(String(100), nullable=False, server_default=text("''"))
    pay_fee = Column(String(10), nullable=False, server_default=text("'0'"))
    pay_desc = Column(Text, nullable=False)
    pay_config = Column(Text, nullable=False)
    status = Column(TINYINT(1), nullable=False, server_default=text("'0'"))
    listorder = Column(SMALLINT(5), nullable=False, server_default=text("'0'"))


class FlRegion(Base):
    __tablename__ = 'fl_region'

    id = Column(INTEGER(11), primary_key=True)
    name = Column(String(64), nullable=False, server_default=text("''"))
    parent_id = Column(INTEGER(11), nullable=False, index=True, server_default=text("'0'"))
    type = Column(TINYINT(4), nullable=False, server_default=text("'0'"))
    sort_name = Column(String(50), nullable=False, server_default=text("''"))
    is_oversea = Column(TINYINT(4), nullable=False, server_default=text("'0'"))
    area_code = Column(String(10), nullable=False, server_default=text("''"))
    status = Column(TINYINT(1), nullable=False, server_default=text("'0'"))


class FlSearchword(Base):
    __tablename__ = 'fl_searchword'

    id = Column(INTEGER(11), primary_key=True)
    name = Column(String(36), nullable=False, server_default=text("''"))
    title = Column(String(60), nullable=False, server_default=text("''"))
    keywords = Column(String(100), nullable=False, server_default=text("''"))
    description = Column(String(250), nullable=False, server_default=text("''"))
    content = Column(MEDIUMTEXT)
    click = Column(INTEGER(11), nullable=False, server_default=text("'0'"))
    litpic = Column(String(150), nullable=False, server_default=text("''"))
    template = Column(String(30), nullable=False, server_default=text("''"))
    filename = Column(String(60), nullable=False, server_default=text("''"))
    status = Column(TINYINT(1), nullable=False, server_default=text("'0'"))
    update_time = Column(INTEGER(11), nullable=False, server_default=text("'0'"))


class FlSession(Base):
    __tablename__ = 'fl_session'

    id = Column(INTEGER(11), primary_key=True)
    session_id = Column(String(250), nullable=False, unique=True, server_default=text("''"))
    session_expire = Column(INTEGER(11), nullable=False, server_default=text("'0'"))
    session_data = Column(LargeBinary, nullable=False)


class FlShop(Base):
    __tablename__ = 'fl_shop'

    id = Column(INTEGER(11), primary_key=True)
    email = Column(String(60), nullable=False, server_default=text("''"))
    user_name = Column(String(60), nullable=False, server_default=text("''"))
    password = Column(String(50), nullable=False, server_default=text("''"))
    pay_password = Column(String(50), nullable=False, server_default=text("''"))
    introduction = Column(String(250), nullable=False, server_default=text("''"))
    mobile = Column(String(20), nullable=False, server_default=text("''"))
    status = Column(TINYINT(1), nullable=False, server_default=text("'0'"))
    openid = Column(String(100), nullable=False, server_default=text("''"))
    unionid = Column(String(128), nullable=False, server_default=text("''"))
    push_id = Column(String(30), nullable=False, server_default=text("''"))
    consumption_money = Column(DECIMAL(10, 2), nullable=False, server_default=text("'0.00'"))
    annual_fee = Column(DECIMAL(10, 2), nullable=False, server_default=text("'0.00'"))
    cover_img = Column(String(250), nullable=False, server_default=text("''"))
    proxy_id = Column(INTEGER(11), nullable=False, server_default=text("'0'"))
    province_id = Column(INTEGER(11), nullable=False, server_default=text("'0'"))
    city_id = Column(INTEGER(11), nullable=False, server_default=text("'0'"))
    district_id = Column(INTEGER(11), nullable=False, server_default=text("'0'"))
    address = Column(String(150), nullable=False, server_default=text("''"))
    point_lng = Column(String(20), nullable=False, server_default=text("''"))
    point_lat = Column(String(20), nullable=False, server_default=text("''"))
    head_img = Column(String(250), nullable=False, server_default=text("''"))
    company_name = Column(String(100), nullable=False, server_default=text("''"))
    business_license_img = Column(String(250), nullable=False, server_default=text("''"))
    industry_id = Column(INTEGER(11), nullable=False, server_default=text("'0'"))
    click = Column(INTEGER(11), nullable=False, server_default=text("'0'"))
    website = Column(String(100), nullable=False, server_default=text("''"))
    contact = Column(String(30), nullable=False, server_default=text("''"))
    contact_information = Column(String(30), nullable=False, server_default=text("''"))
    token = Column(String(32), nullable=False, server_default=text("''"))
    tuijian = Column(TINYINT(1), nullable=False, server_default=text("'0'"))
    type = Column(TINYINT(1), nullable=False, server_default=text("'0'"))
    wechat = Column(String(20), nullable=False, server_default=text("''"))
    qq = Column(String(20), nullable=False, server_default=text("''"))
    main_product = Column(String(100), nullable=False, server_default=text("''"))
    business_license_no = Column(String(20), nullable=False, server_default=text("''"))
    zipcode = Column(String(10), nullable=False, server_default=text("''"))
    fax = Column(String(20), nullable=False, server_default=text("''"))
    zhiwu = Column(String(20), nullable=False, server_default=text("''"))
    content = Column(MEDIUMTEXT)
    category_id = Column(INTEGER(11), nullable=False, server_default=text("'0'"))
    qrcode = Column(String(150), nullable=False, server_default=text("''"))
    expire_time = Column(INTEGER(11), nullable=False, server_default=text("'0'"))
    add_time = Column(INTEGER(11), nullable=False, server_default=text("'0'"))
    update_time = Column(INTEGER(11), nullable=False, server_default=text("'0'"))
    delete_time = Column(INTEGER(11), nullable=False, server_default=text("'0'"))


class FlSlide(Base):
    __tablename__ = 'fl_slide'

    id = Column(INTEGER(11), primary_key=True)
    title = Column(String(150), nullable=False, server_default=text("''"))
    url = Column(String(150), nullable=False, server_default=text("''"))
    target = Column(SMALLINT(2), nullable=False, server_default=text("'0'"))
    group_id = Column(INTEGER(11), nullable=False, server_default=text("'0'"))
    pic = Column(String(150), nullable=False, server_default=text("''"))
    listorder = Column(INTEGER(4), nullable=False, server_default=text("'0'"))
    status = Column(TINYINT(1), nullable=False, server_default=text("'0'"))


class FlSmsLog(Base):
    __tablename__ = 'fl_sms_log'

    id = Column(INTEGER(11), primary_key=True)
    mobile = Column(String(20), nullable=False, server_default=text("''"))
    content = Column(String(200), nullable=False, server_default=text("''"))
    status = Column(TINYINT(1), nullable=False, server_default=text("'1'"))
    result = Column(String(512), nullable=False, server_default=text("''"))
    add_time = Column(INTEGER(10), nullable=False, server_default=text("'0'"))


class FlSpecial(Base):
    __tablename__ = 'fl_special'

    id = Column(INTEGER(11), primary_key=True)
    title = Column(String(150), nullable=False, server_default=text("''"))
    seotitle = Column(String(150), nullable=False, server_default=text("''"))
    keywords = Column(String(100), nullable=False, server_default=text("''"))
    description = Column(String(250), nullable=False, server_default=text("''"))
    add_time = Column(INTEGER(11), nullable=False, server_default=text("'0'"))
    content = Column(MEDIUMTEXT)
    litpic = Column(String(150), nullable=False, server_default=text("''"))
    click = Column(INTEGER(11), nullable=False, server_default=text("'0'"))
    listorder = Column(INTEGER(11), nullable=False, server_default=text("'50'"))
    update_time = Column(INTEGER(11), nullable=False, server_default=text("'0'"))
    cover_img = Column(String(150), nullable=False, server_default=text("''"))


class FlSysconfig(Base):
    __tablename__ = 'fl_sysconfig'

    id = Column(INTEGER(11), primary_key=True)
    varname = Column(String(100), nullable=False, server_default=text("''"))
    info = Column(String(100), nullable=False, server_default=text("''"))
    value = Column(MEDIUMTEXT, nullable=False)


class FlTag(Base):
    __tablename__ = 'fl_tag'

    id = Column(INTEGER(11), primary_key=True)
    name = Column(String(36), nullable=False, server_default=text("''"))
    title = Column(String(100), nullable=False, server_default=text("''"))
    keywords = Column(String(100), nullable=False, server_default=text("''"))
    description = Column(String(150), nullable=False, server_default=text("''"))
    content = Column(MEDIUMTEXT)
    click = Column(INTEGER(11), nullable=False, server_default=text("'0'"))
    litpic = Column(String(150), nullable=False, server_default=text("''"))
    template = Column(String(30), nullable=False, server_default=text("''"))
    filename = Column(String(60), nullable=False, server_default=text("''"))
    status = Column(TINYINT(1), nullable=False, server_default=text("'0'"))
    add_time = Column(INTEGER(11), nullable=False, server_default=text("'0'"))
    update_time = Column(INTEGER(11), nullable=False, server_default=text("'0'"))


class FlTaglist(Base):
    __tablename__ = 'fl_taglist'
    
    id = Column(INTEGER(11), primary_key=True)
    tag_id = Column(INTEGER(11), nullable=False, server_default=text("'0'"))
    article_id = Column(INTEGER(11), nullable=False, server_default=text("'0'"))


class FlToken(Base):
    __tablename__ = 'fl_token'

    id = Column(INTEGER(11), primary_key=True)
    token = Column(String(128), nullable=False, unique=True, server_default=text("''"))
    type = Column(TINYINT(1), nullable=False, server_default=text("'0'"))
    data = Column(MEDIUMTEXT)
    expired_time = Column(INTEGER(11), nullable=False, server_default=text("'0'"))
    add_time = Column(INTEGER(11), nullable=False, server_default=text("'0'"))


class FlUser(Base):
    __tablename__ = 'fl_user'

    id = Column(INTEGER(11), primary_key=True)
    email = Column(String(30), nullable=False, server_default=text("''"))
    user_name = Column(String(60), nullable=False, server_default=text("''"))
    password = Column(CHAR(32), nullable=False, server_default=text("''"))
    pay_password = Column(CHAR(32), nullable=False, server_default=text("''"))
    head_img = Column(String(250), nullable=False, server_default=text("''"))
    sex = Column(TINYINT(1), nullable=False, server_default=text("'0'"))
    birthday = Column(Date, nullable=False, server_default=text("'1990-01-01'"))
    commission = Column(DECIMAL(10, 2), nullable=False, server_default=text("'0.00'"))
    money = Column(DECIMAL(10, 2), nullable=False, server_default=text("'0.00'"))
    frozen_money = Column(DECIMAL(10, 2), nullable=False, server_default=text("'0.00'"))
    point = Column(INTEGER(10), nullable=False, server_default=text("'0'"))
    rank_points = Column(INTEGER(10), nullable=False, server_default=text("'0'"))
    address_id = Column(INTEGER(10), nullable=False, server_default=text("'0'"))
    add_time = Column(INTEGER(11), nullable=False, server_default=text("'0'"))
    user_rank = Column(TINYINT(3), nullable=False, server_default=text("'0'"))
    parent_id = Column(INTEGER(11), nullable=False, server_default=text("'0'"))
    nickname = Column(String(30), nullable=False, server_default=text("''"))
    mobile = Column(String(20), nullable=False, server_default=text("''"))
    status = Column(TINYINT(1), nullable=False, server_default=text("'1'"))
    group_id = Column(INTEGER(11), nullable=False, server_default=text("'50'"))
    update_time = Column(INTEGER(11), nullable=False, server_default=text("'0'"))
    signin_time = Column(TIMESTAMP)
    openid = Column(String(100), nullable=False, server_default=text("''"))
    unionid = Column(String(128), nullable=False, server_default=text("''"))
    push_id = Column(String(30), nullable=False, server_default=text("''"))
    refund_account = Column(String(30), nullable=False, server_default=text("''"))
    refund_name = Column(String(20), nullable=False, server_default=text("''"))
    consumption_money = Column(DECIMAL(10, 2), nullable=False, server_default=text("'0.00'"))


class FlUserAddres(Base):
    __tablename__ = 'fl_user_address'

    id = Column(INTEGER(11), primary_key=True)
    user_id = Column(INTEGER(11), nullable=False, index=True, server_default=text("'0'"))
    name = Column(String(60), nullable=False, server_default=text("''"))
    country_id = Column(INTEGER(11), nullable=False, server_default=text("'0'"))
    province_id = Column(INTEGER(11), nullable=False, server_default=text("'0'"))
    city_id = Column(INTEGER(11), nullable=False, server_default=text("'0'"))
    district_id = Column(INTEGER(11), nullable=False, server_default=text("'0'"))
    address = Column(String(120), nullable=False, server_default=text("''"))
    zipcode = Column(String(20), nullable=False, server_default=text("''"))
    telphone = Column(String(30), nullable=False, server_default=text("''"))
    mobile = Column(String(20), nullable=False, server_default=text("''"))
    is_default = Column(TINYINT(1), nullable=False, server_default=text("'0'"))


class FlUserBonu(Base):
    __tablename__ = 'fl_user_bonus'
    __table_args__ = (
        Index('idx_user_id_status', 'user_id', 'status'),
    )

    id = Column(INTEGER(11), primary_key=True)
    bonus_id = Column(INTEGER(11), nullable=False, server_default=text("'0'"))
    user_id = Column(INTEGER(11), nullable=False, server_default=text("'0'"))
    use_time = Column(INTEGER(11), nullable=False, server_default=text("'0'"))
    get_time = Column(INTEGER(11), nullable=False, server_default=text("'0'"))
    status = Column(TINYINT(1), nullable=False, server_default=text("'0'"))


class FlUserGoodsHistory(Base):
    __tablename__ = 'fl_user_goods_history'

    id = Column(INTEGER(11), primary_key=True)
    goods_id = Column(INTEGER(11), nullable=False, server_default=text("'0'"))
    user_id = Column(INTEGER(11), nullable=False, index=True, server_default=text("'0'"))
    add_time = Column(INTEGER(11), nullable=False, server_default=text("'0'"))


class FlUserMessage(Base):
    __tablename__ = 'fl_user_message'
    __table_args__ = (
        Index('idx_user_id_status_type', 'user_id', 'status', 'type'),
    )

    id = Column(INTEGER(11), primary_key=True)
    user_id = Column(INTEGER(11), nullable=False, server_default=text("'0'"))
    type = Column(TINYINT(1), nullable=False, server_default=text("'0'"))
    status = Column(TINYINT(1), nullable=False, server_default=text("'0'"))
    title = Column(String(150), nullable=False, server_default=text("''"))
    des = Column(String(250), nullable=False, server_default=text("''"))
    litpic = Column(String(150), nullable=False, server_default=text("''"))
    add_time = Column(INTEGER(11), nullable=False, server_default=text("'0'"))


class FlUserMoney(Base):
    __tablename__ = 'fl_user_money'

    id = Column(INTEGER(11), primary_key=True)
    user_id = Column(INTEGER(11), nullable=False, server_default=text("'0'"))
    type = Column(TINYINT(1), nullable=False, server_default=text("'0'"))
    money = Column(DECIMAL(10, 2), nullable=False, server_default=text("'0.00'"))
    add_time = Column(INTEGER(11), nullable=False, server_default=text("'0'"))
    desc = Column(String(100), nullable=False, server_default=text("''"))
    user_money = Column(DECIMAL(10, 2), nullable=False, server_default=text("'0.00'"))


class FlUserPoint(Base):
    __tablename__ = 'fl_user_point'

    id = Column(INTEGER(11), primary_key=True)
    user_id = Column(INTEGER(11), nullable=False, server_default=text("'0'"))
    type = Column(TINYINT(1), nullable=False, server_default=text("'0'"))
    point = Column(INTEGER(6), nullable=False, server_default=text("'0'"))
    add_time = Column(INTEGER(11), nullable=False, server_default=text("'0'"))
    desc = Column(String(250), nullable=False, server_default=text("''"))
    user_point = Column(INTEGER(11), nullable=False, server_default=text("'0'"))


class FlUserRank(Base):
    __tablename__ = 'fl_user_rank'

    id = Column(TINYINT(3), primary_key=True)
    title = Column(String(30), nullable=False, server_default=text("''"))
    min_points = Column(INTEGER(10), nullable=False, server_default=text("'0'"))
    max_points = Column(INTEGER(10), nullable=False, server_default=text("'0'"))
    discount = Column(TINYINT(3), nullable=False, server_default=text("'0'"))
    listorder = Column(INTEGER(5), nullable=False, server_default=text("'50'"))
    rank = Column(INTEGER(5), nullable=False, server_default=text("'0'"))


class FlUserRecharge(Base):
    __tablename__ = 'fl_user_recharge'

    id = Column(INTEGER(11), primary_key=True)
    user_id = Column(INTEGER(11), nullable=False, server_default=text("'0'"))
    money = Column(DECIMAL(10, 2), nullable=False, server_default=text("'0.00'"))
    pay_time = Column(INTEGER(11), nullable=False, server_default=text("'0'"))
    pay_type = Column(TINYINT(1), nullable=False, server_default=text("'1'"))
    pay_money = Column(DECIMAL(10, 2), nullable=False, server_default=text("'0.00'"))
    trade_no = Column(String(60), nullable=False, server_default=text("''"))
    status = Column(TINYINT(1), nullable=False, server_default=text("'0'"))
    add_time = Column(INTEGER(11), nullable=False, server_default=text("'0'"))
    update_time = Column(INTEGER(11), nullable=False, server_default=text("'0'"))
    recharge_sn = Column(String(60), nullable=False, server_default=text("''"))
    delete_time = Column(INTEGER(11), nullable=False, server_default=text("'0'"))


class FlUserWithdraw(Base):
    __tablename__ = 'fl_user_withdraw'

    id = Column(INTEGER(11), primary_key=True)
    user_id = Column(INTEGER(11), nullable=False, server_default=text("'0'"))
    add_time = Column(INTEGER(11), nullable=False, server_default=text("'0'"))
    money = Column(DECIMAL(10, 2), nullable=False, server_default=text("'0.00'"))
    name = Column(String(30), nullable=False, server_default=text("''"))
    status = Column(TINYINT(1), nullable=False, server_default=text("'0'"))
    note = Column(String(250), nullable=False, server_default=text("''"))
    re_note = Column(String(250), nullable=False, server_default=text("''"))
    bank_name = Column(String(30), nullable=False, server_default=text("''"))
    bank_place = Column(String(150), nullable=False, server_default=text("''"))
    account = Column(String(30), nullable=False, server_default=text("''"))
    method = Column(String(20), nullable=False, server_default=text("''"))
    delete_time = Column(INTEGER(11), nullable=False, server_default=text("'0'"))


class FlVerifyCode(Base):
    __tablename__ = 'fl_verify_code'

    id = Column(INTEGER(11), primary_key=True)
    code = Column(String(10), nullable=False, server_default=text("''"))
    type = Column(TINYINT(1), nullable=False, server_default=text("'0'"))
    mobile = Column(String(20), nullable=False, server_default=text("''"))
    status = Column(TINYINT(4), nullable=False, server_default=text("'0'"))
    expire_time = Column(INTEGER(11), nullable=False, server_default=text("'0'"))
    add_time = Column(INTEGER(11), nullable=False, server_default=text("'0'"))
